 
\documentclass[a4paper,12pt]{article}
\usepackage[pstricks]{sk2}
\usepackage{pxfonts}

\author{Groupe CRT 1}

\title{Rapport de projet CRT}

\def\tech{\texttt}

% name formatting
\def\familyname{\textsc}
\def\firstname#1{#1}
\def\groupmember#1#2{\firstname{#1} \familyname{#2}}

% group members
\def\mwyd{\groupmember{Wydade}{Ben Hamdia}}
\def\mmat{\groupmember{Mathias}{Coqblin}}
\def\mlou{\groupmember{Loubna}{Darkate}}
\def\mmor{\groupmember{Mor Salla}{Fall}}
\def\moli{\groupmember{Olivier}{Finot}}
\def\mvin{\groupmember{Vincent}{Hugot}}
\def\mmed{\groupmember{Mehdi}{Iraqi Houssaini}}
\def\mbed{\groupmember{Bedr}{Mouajab}}
\def\mdon{\groupmember{Donald}{Srey}}

\def\grpd{Groupe Développement}
\def\grpt{Groupe Test}

\def\fla{Full Look Ahead}
\def\tdd{Test Driven Development}

\newcommand\seclvlA{
\newcommand\SA\section
\newcommand\SB\subsection
\newcommand\SC\subsubsection}

\newcommand\seclvlB{
\newcommand\SA\subsection
\newcommand\SB\subsubsection
\newcommand\SC\paragraph}

\begin{document}
 
\maketitle

\tableofcontents



\section{Introduction}

Dans cette seconde partie du projet de CRT, notre groupe était
chargé d'implanter l'algorithme de valuation FLA (\texttt{Full Look Ahead}).
Nous avons également pourvu notre programme d'une interface graphique,
en plus du mode \emph{ligne de commande} disponible précédemment,
corrigé certains problèmes qui subsistaient dans
les algorithmes implantés dans la première partie du
projet.

\section{Organisation}

Comme à l'accoutumée, nous nous sommes astreints à respecter la
méthode XP autant que faire se peut étant donné les autres contraintes
auquelles nous étions soumis.\mk\\
%
Nous avons, comme prévu, interchangé les groupes de développement et 
de test par rapport à la première partie du projet. 
Les responsables respectifs des deux groupes ont également changé.
La nouvelle répartition suit:\mk\\
%
\textbf{\grpt}
\begin{itemize}
\item $\frac12$\mvin : Chef de projet
\item \mmat : Chef \grpt
\item \moli
\item \mbed
\item \mmed \mk\\
\end{itemize}

\textbf{\grpd}
\begin{itemize}
\item \mdon : Chef \grpd
\item \mmor
\item \mwyd 
\item \mlou
\item $\frac12$\mvin 
\end{itemize}

\noi Une particularité de la nouvelle répartition est que \mvin\ a
été assigné ``pour moitié'' à chaque groupe, d'une part
afin d'aider la transition de l'ancien \grpt\ vers le développement,
et d'autre part afin d'éviter de répéter les erreurs faites dans la première
partie du travail. En effet nous avions souffert dans la première partie
d'un manque de communication entre les deux équipes.
Avoir le chef de projet consacrer son temps équitablement
entre les deux équipes nous a semblé une solution raisonnable
à ce problème.\mk\\
%
Nous avons travaillé par itérations d'environ une semaine,
chacune ponctuée par une réunion (dont une pendant les vacances)
donnant lieu à un rapport de réunion.
En dehors des réunions, l'outil d'organisation
principal restait notre forum, du moins pour ceux
qui y passent plus d'une fois par an.\mk\\
%
Comme pour la première partie du projet, la répartition
des tâches établie en réunions n'a pas été scrupuleusement
appliquée en pratique, 
en particulier car certains binômes ont
accumulé beaucoup de retard et/ou rendu
un travail inexploitable, qui a dû être refait par 
d'autres membres de l'équipe lorqu'il a été clairement
établi que ce n'était plus la peine d'attendre.


\section{Algorithme \texttt{Full Look Ahead}}

\seclvlA
\input{../explialgo}
\input{../choiximpl}


%%\seclvlA
\input{../report-test}

\section{Bilan technique}

\textbf{Algorithme par algorithme:}
\begin{itemize}
\item L'algorithme AC3 fonctionne bien, mais est relativement lent lorsque les problèmes 
génèrent de très nombreuses substitutions (quelque milliers).

\item L'algorithme AC6 fonctionne, avec les mêmes caveats qu'AC3, mais donne de moins bonnes
réductions d'AC3.

\item Le backtracking fonctionne bien. Les bugs étranges dont il souffrait
    ont été corrigés \emph{in extremis}.

\item Le Full Look Ahead fonctionne bien.
  
\end{itemize}

\textbf{Exemple par exemple:}
\begin{itemize}
 \item \textbf{Dames: } Aucun algorithme de consistance ne réduit les domaines. 
    Cependant le \texttt{FLA} trouve une solution.
 \item \textbf{Zebre: } Tous les algorithmes fonctionnent bien, modulo la remarque faite plus haut en ce qui 
    concerne AC6.
 \item \textbf{SEND MORE = MONEY: } L'exemple se résoud bien, mais pas dans un temps raisonnable
  lorsque tous les domaines sont ouverts. Pour l'exécuter, il nous faut réduire le domaine de quatre
  variables à un singleton (la bonne valeur, évidemment), et l'algorithme trouve les autres rapidement.
  Cette mauvaise performance est dûe à la gestion des substitutions, fort nombreuses sur l'exemple.
\end{itemize}

\section{Conclusion}

En dépit des problèmes d'organisation que nous avons rencontrés, 
le travail rendu respecte essentiellement le cahier des charges,
même s'il reste de nombreux points perfectibles.

\end{document}
